import { ApiProperty } from '@nestjs/swagger';
import { StudentType } from '../entities/student.entity';

export class ClassDetailDto {
  @ApiProperty({ description: '班级ID' })
  classId: number;

  @ApiProperty({ description: '班级名称' })
  className: string;

  @ApiProperty({ description: '带班老师' })
  teacherName: string;

  @ApiProperty({ description: '加入班级时间' })
  joinAt: Date;
}

export class StudentDetailDto {
  @ApiProperty({ description: '学生ID' })
  id: number;

  @ApiProperty({ description: '学员ID' })
  studentId: string;

  @ApiProperty({ description: '姓名' })
  userName: string;

  @ApiProperty({ description: '手机号' })
  phone: string;

  @ApiProperty({ description: '账号剩余时间', example: '1年30天' })
  remainingTime: string;

  @ApiProperty({ description: '入学时间' })
  startAt: Date;

  @ApiProperty({ description: '到期时间' })
  expireAt: Date;

  @ApiProperty({ description: '监护人' })
  guarder: string;

  @ApiProperty({ description: '监护人电话' })
  guarderPhone: string;

  @ApiProperty({ description: '监护人关系', example: '爸爸' })
  guarderRelation: string;

  @ApiProperty({ description: '学校' })
  school: string;

  @ApiProperty({ description: '年级', example: '三年级' })
  grade: string;

  @ApiProperty({ description: '生日' })
  birthday: Date;

  @ApiProperty({ description: '学习方式', enum: StudentType, enumName: 'StudentType' })
  studentType: StudentType;

  @ApiProperty({ description: '学习方式描述', example: '线上学习' })
  studentTypeDesc: string;

  @ApiProperty({ description: '学习时长', example: '1年30天' })
  studyDuration: string;

  @ApiProperty({ description: '学习开始日期', example: '2023-01-01' })
  studyStartDate: string;

  @ApiProperty({ description: '城市' })
  city: string;

  @ApiProperty({ description: '省份' })
  province: string;

  @ApiProperty({ description: '班级列表', type: [ClassDetailDto] })
  classes: ClassDetailDto[];
} 